/*
 * DirVideoSource.h
 *
 *  Created on: 2018年3月19日
 *      Author: zhengboyuan
 */

#ifndef DIRVIDEOSOURCE_H_
#define DIRVIDEOSOURCE_H_

#include "VideoSource.h"

class DirVideoSource : public VideoSource
{
public:
	explicit DirVideoSource(const std::string& filepath = std::string());
	virtual ~DirVideoSource();

	virtual void setSize(const cv::Size& size);

	virtual cv::Size getSize();

	virtual bool getFrame(cv::Mat& frame);

	virtual bool isOpened();

	void setPath(const char* filepath);

	bool isSupported(const std::string& filename);

protected:
	bool readFrame(const std::string& filepath, cv::Mat& frame);

protected:
	cv::Size	m_size;
	std::string	m_filepath;

	size_t	m_index;

};

#endif /* DIRVIDEOSOURCE_H_ */
